home *** CD-ROM | disk | FTP | other *** search
- /*
- FILE : HyperXCmd.h - Hypercard include file
- BUILT : 12/19/88
- FONT : Profont fixed-cell 9 point (available on GEnie)
- FROM : GEnie A.COHEN6
- SOURCE: LightSpeed 'c' v3.0
- TARGET: Macintosh II
-
- Taken from Appendix A Pg. 237 of the Apple Hypercard Script Language Guide
- (c)Apple Computer, Inc.
- */
-
- #ifndef _HYPERCARD_
-
- typedef struct XCmdBlock {
- short paramCount;
- Handle params[16];
- Handle returnValue;
- Boolean passFlag;
-
- void (*entryPoint)(); /* to call back to HyperCard */
- short request;
- short result;
- long inArgs[8];
- long outArgs[4];
- } XCmdBlock, *XCmdBlockPtr;
-
- typedef struct Str31 {
- char guts[32];
- } Str31, *Str31Ptr;
-
- /* result codes */
-
- #define xresSucc 0
- #define xresFail 1
- #define xresNotImp 2
-
-
- /* request codes */
-
- #define xreqSendCardMessage 1
- #define xreqEvalExpr 2
- #define xreqStringLength 3
- #define xreqStringMatch 4
- #define xreqSendHCMessage 5
- #define xreqZeroBytes 6
- #define xreqPasToZero 7
- #define xreqZeroToPas 8
- #define xreqStrToLong 9
- #define xreqStrToNum 10
- #define xreqStrToBool 11
- #define xreqStrToExt 12
- #define xreqLongToStr 13
- #define xreqNumToStr 14
- #define xreqNumToHex 15
- #define xreqBoolToStr 16
- #define xreqExtToStr 17
- #define xreqGetGlobal 18
- #define xreqSetGlobal 19
- #define xreqGetFieldByName 20
- #define xreqGetFieldByNum 21
- #define xreqGetFieldByID 22
- #define xreqSetFieldByName 23
- #define xreqSetFieldByNum 24
- #define xreqSetFieldByID 25
- #define xreqStringEqual 26
- #define xreqReturnToPas 27
- #define xreqScanToReturn 28
- #define xreqScanToZero 39 /* Yes; no mistake, 39 is the correct value here. */
-
-
- /*
- Forward definitions of glue routines. Main program must include
- HyperGlue.c (comments in HyperGlue.c generally explain routines)
- */
-
- typedef void (*MyProcPtr) ();
-
- pascal void SendCardMessage (XCmdBlockPtr paramPtr, StringPtr msg);
- pascal Handle EvalExpr (XCmdBlockPtr paramPtr, StringPtr expr);
- pascal long StringLength (XCmdBlockPtr paramPtr, StringPtr strPtr);
- pascal Ptr StringMatch (XCmdBlockPtr paramPtr, StringPtr pattern, Ptr target);
- pascal void SendHCMessage (XCmdBlockPtr paramPtr, StringPtr msg);
- pascal void ZeroBytes (XCmdBlockPtr paramPtr, Ptr dstPtr, long longCount);
- pascal Handle PasToZero (XCmdBlockPtr paramPtr, StringPtr pasStr);
- pascal void ZeroToPas (XCmdBlockPtr paramPtr, char *zeroStr, StringPtr pasStr);
- pascal long StrToLong (XCmdBlockPtr paramPtr, Str31 *strPtr);
- pascal long StrToNum (XCmdBlockPtr paramPtr, Str31 *str);
- pascal Boolean StrToBool (XCmdBlockPtr paramPtr, Str31 *str);
- pascal void StrToExt (XCmdBlockPtr paramPtr, Str31 *str, double *myext);
- pascal void LongToStr (XCmdBlockPtr paramPtr, long posNum, Str31 *mystr);
- pascal void NumToStr (XCmdBlockPtr paramPtr, long num, Str31 *mystr);
- pascal void NumToHex (XCmdBlockPtr paramPtr, long num, short nDigits, Str31 *mystr);
- pascal void BoolToStr (XCmdBlockPtr paramPtr, Boolean bool, Str31 *mystr);
- pascal void ExtToStr (XCmdBlockPtr paramPtr, double *myext, Str31 *mystr);
- pascal Handle GetGlobal (XCmdBlockPtr paramPtr, StringPtr globName);
- pascal void SetGlobal (XCmdBlockPtr paramPtr, StringPtr globName, Handle globValue);
- pascal Handle GetFieldByName (XCmdBlockPtr paramPtr, Boolean cardFieldFlag, StringPtr fieldName);
- pascal Handle GetFieldByNum (XCmdBlockPtr paramPtr, Boolean cardFieldFlag, short fieldNum);
- pascal Handle GetFieldByID (XCmdBlockPtr paramPtr, Boolean cardFieldFlag, short fieldID);
- pascal void SetFieldByName (XCmdBlockPtr paramPtr, Boolean cardFieldFlag, StringPtr fieldName, Handle fieldVal);
- pascal void SetFieldByNum (XCmdBlockPtr paramPtr, Boolean cardFieldFlag, short fieldNum, Handle fieldVal);
- pascal void SetFieldByID (XCmdBlockPtr paramPtr, Boolean cardFieldFlag, short fieldID, Handle fieldVal);
- pascal Boolean StringEqual (XCmdBlockPtr paramPtr, Str31 *str1, Str31 *str2);
- pascal void ReturnToPas (XCmdBlockPtr paramPtr, Ptr zeroStr, StringPtr pasStr);
- pascal void ScanToReturn (XCmdBlockPtr paramPtr, Ptr *scanHndl);
- pascal void ScanToZero (XCmdBlockPtr paramPtr, Ptr *scanHndl);
- #endif
-
- #define _HYPERCARD_